package com.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class addHashUnit {
    public static void addHash(byte[] newhash, byte[] oldhash, byte[] message, int mlen) {
        if (oldhash.length != DataUnit.HASH_LEN) {
            throw new IllegalArgumentException("Old hash length must be " +  DataUnit.HASH_LEN + " bytes.");
        }
        try {
            // 获取 SHA-256 的 MessageDigest 实例
            MessageDigest sha256 = MessageDigest.getInstance("SHA-256");

            // 处理 oldhash 数据
            sha256.update(oldhash);

            // 处理 message 数据
            sha256.update(message, 0, mlen);

            // 计算最终的哈希值
            byte[] result = sha256.digest();
            // 将计算结果复制到 newhash 缓冲区
            System.arraycopy(result, 0, newhash, 0, result.length);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
}
